package com.zmn.plat.model.entity.channel.settle;

import lombok.*;
import com.zmn.common.utils.pager.Operator;

import java.util.Date;


/**
 * 描述: 渠道合并结算表
 *
 * @author xujie
 * @since  2021-04-13 09:27:32
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChannelMergeSettle  extends Operator {

    private static final long serialVersionUID = 1L;

    public static final String CONNECTOR = "-";
    
   /**
	* 描述: 渠道id
	**/
	private Integer channelId;
    
   /**
	* 描述: 合并标记：合并结算开启且渠道公司、结算周期、结算起始时期、结算截至时期、结算渠道字段相等（各字段按照顺序用："-" 相连，如：1-2-3-4-5）
	**/
	private String mergeMark;
    
   /**
	* 描述: 合并结算：1.否 2.是
	**/
	private Integer mergeSettle;
    
   /**
	* 描述: 创建人
	**/
	private String creater;
    
   /**
	* 描述: 最新修改人
	**/
	private String updater;
    
   /**
	* 描述: 创建时间
	**/
	private Date createTime;
    
   /**
	* 描述: 最新修改时间
	**/
	private Date updateTime;

	/**
	 * 生成合并标记
	 * 合并标记：合并结算开启且渠道公司、结算周期、结算起始时期、结算截至时期、结算渠道字段相等（各字段按照顺序用："-" 相连，如：1-2-3-4-5）
	 * @param companyId 渠道公司
	 * @param statementMode 结算周期
	 * @param statementGenerateTime 结算起始时期
	 * @param statementEndTime 结算截至时期
	 * @param statementChannel 结算渠道
	 */
	public static String generateMergeMark(Integer companyId, Integer statementMode, Integer statementGenerateTime, Integer statementEndTime, Integer statementChannel) {

		if (statementMode != null && statementGenerateTime != null && statementEndTime != null && statementChannel != null && companyId != null) {
			return companyId + CONNECTOR + statementMode + CONNECTOR + statementGenerateTime + CONNECTOR + statementEndTime + CONNECTOR + statementChannel;
		} else {
			return null;
		}
	}
}
